using System;
using System.Collections.Generic;
using System.Text;

namespace Money
{
    // TODO we need to consider if we should have ability to match on an account by account basis

    /// <summary>
    /// Pattern match for description based on regular expression. Includes
    /// what the description should be tidied up to.
    /// </summary>
    public class DescriptionMatch
    {
        #region Constructors
        /// <summary>
        /// Default constructor for class
        /// </summary>
        public DescriptionMatch()
        {
        }

        /// <summary>
        /// Initialise with regular expression and new description string
        /// </summary>
        /// <param name="regularExpression">Regular expression that the current description would be matched against</param>
        /// <param name="description">Replacement description if the pattern matches</param>
        public DescriptionMatch(string regularExpression, string description)
        {
            RegularExpression = regularExpression;
            Description = description;
        }
        #endregion

        #region Properties
        /// <summary>
        /// What he description should become on matches
        /// </summary>
        public string Description { get; set; }

        /// <summary>
        /// Regular expression that the current description should be matched against
        /// </summary>
        public string RegularExpression { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public int Priority { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public bool Terminate { get; set; }

        #endregion
    }
}
